#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>

//int main()
//{
//    int fd = open("log.txt", O_RDONLY);//只读
//    dup2(fd, 0);
//
//    char buffer[2048];
//    size_t s = read(0, buffer, sizeof(buffer));
//    if (s > 0) 
//    {
//        buffer[s] = 0;
//        printf("stdin redir:\n%s\n", buffer);
//    }
//
//    return 0;
//}






//int main()
//{
//    int fd = open("log.txt", O_CREAT | O_WRONLY | O_TRUNC, 0666);
//
//    dup2(fd, 1);
//
//    printf("hello fd: %d\n", fd);
//    fprintf(stdout, "hello fd: %d\n", fd);
//    fputs("hello world\n", stdout);
//
//    const char *message = "hello fwrite\n";
//    fwrite(message, 1, strlen(message), stdout);
//    return 0;
//}











int main()
{
    close(1);
    int fd1 = open("log1.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);

    printf("fd1: %d\n", fd1);

    close(fd1);
    return 0;
}















//int main()
//{
//    int a = 1234;
//    char buffer[1024];
//    snprintf(buffer, sizeof(buffer), "%d", a);
//
//    write(1, buffer, strlen(buffer));
//    return 0;
//}





//int main()
//{
//    printf("stdin: %d\n", stdin->_fileno);
//    printf("stdout: %d\n", stdout->_fileno);
//    printf("stderr: %d\n", stderr->_fileno);
//    return 0;
//}







//int main()
//{
//    int fd1 = open("log.txt", O_WRONLY | O_CREAT | O_TRUNC, 0666);
//
//    const char* message = "aaa\n";
//    write(fd1, message, strlen(message) + 1); //这里不能这样写
//    printf("fd1: %d\n", fd1);
//    printf("运行中\n");
//    while(1)
//    {
//        sleep(2);    
//    }
//    return 0;
//}











//int main()
//{
//    char buffer[128];
//    ssize_t s = read(0, buffer, sizeof(buffer));
//    if(s > 0)
//    {
//        buffer[s - 1] = 0;
//        printf("%s\n", buffer);
//    }
//
//    //const char* message = "hello write\n";
//
//    //write(1, message, strlen(message));
//    //直接向显示器 stdout 这个文件描述符写内容
//    return 0;
//}













//int main()
//{
//    int fd1 = open("log.txt", O_WRONLY | O_CREAT | O_APPEND, 0666);
//    if (fd1 < 0)
//    {
//        perror("open");
//        return 1;
//    }
//
//    printf("fd1: %d\n", fd1);
//    
//    const char* message = "aaa\n";
//    write(fd1, message, strlen(message)); //写入文件
//    
//    close(fd1); //关闭文件
//    return 0;
//}
//












//int main()
//{
//    printf("hello world\n");
//    fputs("aaa\n", stdout);
//    fwrite("bbb\n", 1, 4, stdout);
//
//    return 0;
//}
